{
 "metadata": {
  "name": "",
  "signature": "sha256:17a0fc08f73b0d50442de3133ac2ce429e9882b66ca7dd28ed490cb3545d7388"
 },
 "nbformat": 3,
 "nbformat_minor": 0,
 "worksheets": [
  {
   "cells": [
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "import numpy as np\n",
      "import matplotlib.pyplot as plt\n",
      "%matplotlib inline"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [],
     "prompt_number": 1
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "data = np.genfromtxt('data.csv', delimiter=\",\")\n",
      "x_data = data[1:,0]\n",
      "y_data = data[1:,1]\n",
      "plt.scatter(x_data, y_data)\n",
      "plt.show()"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "metadata": {},
       "output_type": "display_data",
       "png": "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\nRU5ErkJggg==\n",
       "text": [
        "<matplotlib.figure.Figure at 0x7f6799203160>"
       ]
      }
     ],
     "prompt_number": 2
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "def compute_loss(b, k, x_data, y_data):\n",
      "    loss = 0\n",
      "    for i in range(len(x_data)):\n",
      "        loss += (y_data[i] - (k*x_data[i]+b))**2\n",
      "    return loss/float(len(x_data)) / 2"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [],
     "prompt_number": 3
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "def gradient_discent(x_data, y_data, lr, epoch, k, b):\n",
      "    batch = len(x_data)\n",
      "    for i in range(epoch):\n",
      "        dz = 0\n",
      "        dk = db = 0\n",
      "        for j in range(batch):\n",
      "            dz = -(y_data[j] - (k*x_data[j]+b)) \n",
      "            dk += x_data[j] * dz / float(batch)\n",
      "            db += dz / float(batch)\n",
      "        k -= lr * dk\n",
      "        b -= lr * db\n",
      "    return k, b\n",
      "    "
     ],
     "language": "python",
     "metadata": {},
     "outputs": [],
     "prompt_number": 4
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [
      "b = k = 0\n",
      "epoch = 100\n",
      "lr = 0.01\n",
      "print (\"Start b = {0}, k = {1}, loss = {2}\".format(b, k, compute_loss(b, k, x_data, y_data)))\n",
      "print (\"Running.......\")\n",
      "k, b = gradient_discent(x_data, y_data, lr, epoch, k, b)\n",
      "print (\"After {3} epochs: b = {0}, k = {1}, loss = {2}\".format(b, k, compute_loss(b, k, x_data, y_data), epoch))\n",
      "\n",
      "plt.plot(x_data, y_data, 'b.')\n",
      "plt.plot(x_data, k*x_data + b, 'r')\n",
      "plt.show()"
     ],
     "language": "python",
     "metadata": {},
     "outputs": [
      {
       "output_type": "stream",
       "stream": "stdout",
       "text": [
        "Start b = 0, k = 0, loss = 3251477635.366667\n",
        "Running.......\n",
        "After 100 epochs: b = 6481.917498721375, k = 12315.527430123682, loss = 55941133.036581226\n"
       ]
      },
      {
       "metadata": {},
       "output_type": "display_data",
       "png": "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\n",
       "text": [
        "<matplotlib.figure.Figure at 0x7f67971647f0>"
       ]
      }
     ],
     "prompt_number": 5
    },
    {
     "cell_type": "code",
     "collapsed": false,
     "input": [],
     "language": "python",
     "metadata": {},
     "outputs": []
    }
   ],
   "metadata": {}
  }
 ]
}